/*	Interface for all lower level behaviors.  Behaviors must implement these methods.

*/

#ifndef BEHAVIOR_H_
#define BEHAVIOR_H_


#include "BaseBehavior.h"

class Behavior : public BaseBehavior
{
public:
	Behavior() { control = new BehaviorController(this);
	
	~Behavior();

	/**
     * Gets the controller reference.
     */
	BehaviorController* GetController()	{	return control;	}

protected:
	
	/**
     * Behavior controler to keep track of the
     * Behavior state.
     */
	BehaviorController* control;

private: // Nothing, all actual behaviors will inherit this class and can implement their own local data as needed.

};

#endif
